home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr30 / hercsv20.zip / HERCSAVE.DOC < prev    next >
Text File  |  1993-05-03  |  13KB  |  281 lines

  1.      HERCSAVE 2.0
  2.      Hercules Graphics Card (tm) Screen Blanker
  3.      
  4.      ----------------------------------------------------------------------
  5.      
  6.      (C) Copyright 1988,89 - Benjamin Diss/The Smart Solutions Group
  7.      
  8.      Limited permission is granted to individual users for product
  9.      evaluation and testing.  Continued use of this shareware program
  10.      requires registration as described later in this document.
  11.      
  12.      All other rights are explicitly reserved by the author.
  13.      
  14.      
  15.      -- INTRODUCTION ------------------------------------------------------
  16.      
  17.      Images that appear on a computer monitor for an extended period of
  18.      time may burn the display phosphors.  This causes permanent damage to
  19.      the monitor and severely limits it's life span.  After continual
  20.      damage the monitor eventually becomes useless.
  21.      
  22.      To eliminate this problem, programs have been developed that observe
  23.      the computer system and blank the screen under certain conditions.
  24.      These programs install themselves in memory and monitor keyboard
  25.      activity.  When there is no activity for a predetermined amount of
  26.      time, they blank the screen, assuming that the user has no immediate
  27.      need for it.  These programs work fine for IBM compatible video
  28.      systems, however they do not work for Hercules video cards.
  29.      
  30.      When Hercules designed the original monochrome graphics card, there
  31.      was no IBM standard to follow.  It was not possible for Hercules to
  32.      build an IBM compatible monochrome graphics card.  Therefore, the IBM
  33.      BIOS does not support the Hercules Graphics Card (HGC) and normal
  34.      screen blankers do not work properly.
  35.      
  36.      HERCSAVE recognizes the limitations of the HGC.  It does not rely on
  37.      any IBM BIOS or DOS functions.  It programs the HGC's hardware
  38.      directly allowing it to safely blank and restore the screen in both
  39.      text and graphics modes.
  40.      
  41.      
  42.      -- SYNTAX ------------------------------------------------------------
  43.      
  44.      HERCSAVE operates by monitoring the keyboard.  After a specified
  45.      period of inactivity the program will blank the screen.  Any keypress
  46.      will then restore it.
  47.      
  48.      Syntax: HERCSAVE /Tseconds [options]
  49.      
  50.      /t      TIME before screen blanks in seconds.  This option must be
  51.              specified to install the program as there is no default.  To
  52.              disable time-out blanking specify zero by entering /T0.
  53.      
  54.      /h      HOT-KEY to force blank where:
  55.              
  56.                  1=Right Shift
  57.                  2=Left Shift
  58.                  4=CTRL
  59.                  8=ALT
  60.              
  61.              Select any combination of these toggle (shift) keys by adding
  62.              the desired codes together.  The default is <ALT><Left Shift>
  63.              or /H10.  To disable hot-key forced blanking specify zero by
  64.              entering /H0.
  65.      
  66.      /o      OPTIONAL retrace screen blanking method.  The default method
  67.              is vertical size modification.
  68.      
  69.      /u      UNINSTALLS or removes the program from memory.
  70.      
  71.      The TIME and HOT-KEY options may be changed after the program is
  72.      loaded.  This allows the temporary disabling of HERCSAVE for
  73.      conflicting programs.
  74.      
  75.      For example, "HERCSAVE /T300 /H3" would install HERCSAVE to blank
  76.      after about 5 minutes of keyboard inactivity, and would allow a forced
  77.      blank by pressing <LSHIFT><RSHIFT>.  HERCSAVE would blank and restore
  78.      by modifying the vertical size register.
  79.      
  80.      HERCSAVE is a well behaved resident program so it can be loaded in any
  81.      order with other resident programs.  However, if you plan to uninstall
  82.      HERCSAVE it must be the last resident loaded that uses the keyboard
  83.      and timer interrupts.
  84.      
  85.      HERCSAVE redirects only two interrupts and uses minimal memory by
  86.      releasing the environment space before going resident.  Version 2.0
  87.      requires only 512 bytes of resident memory for the default blanking
  88.      method and 592 bytes for the optional retrace method.
  89.      
  90.      
  91.      -- COMPATIBILITY -----------------------------------------------------
  92.      
  93.      Since HERCSAVE uses hardware instructions specific to the Hercules
  94.      Graphics Card, it tests for true compatibility.  If it determines that
  95.      the active video card is not an HGC it tells you so and exits.
  96.      
  97.      If the card responds correctly, HERCSAVE makes two more tests.  These
  98.      tests ensure that the card will be able to properly report the video
  99.      mode.  The program tests the responsiveness of the light pen
  100.      registers.  HERCSAVE uses these registers to determine the number of
  101.      pixels currently being displayed.  This number then indicates whether
  102.      the video mode is text or graphics.
  103.      
  104.      If either of these two tests fails, HERCSAVE reports and error and
  105.      continues with the installation process.  Be aware that if your card
  106.      doesn't support these registers, graphics mode programs may not
  107.      restore correctly.
  108.      
  109.      
  110.      -- TECHNICAL ---------------------------------------------------------
  111.      
  112.      The screen can be blanked and restored using two methods.  The default
  113.      is to set the vertical size to zero to blank and restore the size to
  114.      restore the screen.  The optional method turns the retrace off to
  115.      blank and on to restore the screen.
  116.      
  117.      - Vertical size blanking -
  118.      
  119.      The vertical size method works best because it is simpler, more
  120.      reliable, and uses less resident memory than the retrace method.
  121.      
  122.      To blank using the vertical size method, HERCSAVE tells the HGC
  123.      hardware to display the screen with zero lines.  This makes the screen
  124.      appear blank.  To restore, HERCSAVE determines if the video mode is
  125.      text or graphics.  It then tells the HGC to display the screen with
  126.      the appropriate number of lines based on the current mode.
  127.      
  128.      The only limitation to this method is that on some systems when the
  129.      screen blanks, the top row of pixels continues to be displayed.  This
  130.      is a very minor flaw in the hardware of your card and is only a
  131.      cosmetic limitation.
  132.      
  133.      - Retrace blanking -
  134.      
  135.      The retrace method is more difficult.  To blank the screen HERCSAVE
  136.      tells the HGC to turn off the light gun (in the monitor).  This blanks
  137.      instantly, without leaving a line remaining at the top of the screen.
  138.      
  139.      Restoring is much more complicated.  To do this HERCSAVE first
  140.      determines the video mode.  If the HGC is in graphics mode, it must
  141.      next determine the active video page.
  142.      
  143.      It needs the active video page to properly set the Video Mode Control
  144.      Port.  This port controls many of the hardware features of the HGC.
  145.      Unfortunately, it is limited to "write only" and cannot be "read"
  146.      from.  Therefore, the active video page must be determined by some
  147.      other method.
  148.      
  149.      Fortunately, Microsoft has established a solution with its mouse
  150.      driver.  Graphics based programs that support a Microsoft compatible
  151.      mouse must update the Video BIOS Data Area when they change to
  152.      graphics mode.  This allows the mouse driver to determine the active
  153.      video page so that it may display the mouse pointer.  Since it is not
  154.      possible to determine the active video page any other way, HERCSAVE
  155.      checks this area and uses the value it finds.
  156.      
  157.      It then calculates the proper Video Mode Control Byte and sends it to
  158.      the port to turn the light gun on.
  159.      
  160.      If, when attempting to restore in graphics mode, the screen appears in
  161.      random blocks and shapes it can be assumed that your application does
  162.      not update the Video BIOS Data Area.  If this is the case with your
  163.      system, it probably would be best to use the vertical blanking method.
  164.      
  165.      - Vintage equipment -
  166.      
  167.      Early in 1983, when Hercules first released their monochrome graphics
  168.      card, some people tried to use normal MDA (IBM monochrome text) screen
  169.      blankers to save their monitors.  Some of these people reported that
  170.      their monitors were destroyed when these programs attempted to restore
  171.      in graphics mode.  Unless you are using some VERY old equipment this
  172.      anomaly should be of no concern to you.
  173.      
  174.      These monitors were damaged because they could not support some higher
  175.      display bandwidths and the HGC could not properly report its current
  176.      mode.   These programs that caused the damage used a retrace blanking
  177.      method similar to HERCSAVE.  The difference is that HERCSAVE uses
  178.      different routines to detect the current video mode.
  179.      
  180.      HERCSAVE has been distributed for about 14 months.  I have not
  181.      received one complaint that it has caused any damage to any system.
  182.      There is no reason to believe that HERCSAVE's retrace blanking
  183.      routines may cause damage to your monitor unless it was manufactured
  184.      before 1984.  If you are using vintage equipment then do not use the
  185.      retrace method.  The vertical size method (the default) is safe to use
  186.      for all equipment.
  187.      
  188.      - Virus Detection -
  189.      
  190.      HERCSAVE attempts to detect if a virus or unwanted hacker has altered
  191.      the program.  It does this by comparing its file image with a 32-bit
  192.      CRC value calculated when the program was compiled.  If a change is
  193.      detected HERCSAVE tells you so and exits.
  194.      
  195.      If you receive a copy of the program that will not run because of
  196.      this, please contact me at the address below and tell me where you
  197.      obtained the program.  I will ensure that the BBS or distributor is
  198.      provided with a valid copy.
  199.      
  200.      
  201.      -- HISTORY -----------------------------------------------------------
  202.      
  203.      7-10-89 Released version 2.0.
  204.      
  205.      7-9-89  Elaborated on the technical notes in the documentation.
  206.      
  207.      6-9-89  Did some additional checking for the current video page in the
  208.              retrace method restore procedure.  In well behaved
  209.              applications this should help to restore properly.
  210.      
  211.      6-8-89  Squashed a major bug in the logic of the mode detection
  212.              routine.  This bug caused some graphics screens to restore
  213.              only the top third of the screen and some text screens to
  214.              restore with scattered garbage.
  215.      
  216.              Changed from 16 bit port writes to 8 bit.  Some clone cards
  217.              did not respond well to the more efficient 16 bit writes.
  218.      
  219.      5-5-89  Enhanced the documentation, the status messages, and the logic
  220.              of the install functions.
  221.      
  222.      4-24-89 Changed the time before blank command line option, added the
  223.              uninstall command, and changed the organization of routines in
  224.              the resident segment.  This reorganization resulted in lower
  225.              memory requirements for users of the vertical size blanking
  226.              method.
  227.      
  228.      4-20-89 Added the user-specified HOT-KEY.
  229.      
  230.      4-2-89  Version 1.3 introduces SafeWare!  HERCSAVE now checks its file
  231.              image against a pre-calculated 32 bit CRC.  This warns of
  232.              viral infection.
  233.      
  234.              Elaborates on the light pen register tests and no longer
  235.              aborts after failing.
  236.      
  237.      3-4-89  Version 1.2 fixed a bug in the hot key routine (thanks to John
  238.              Lin) that caused some toggle keys (Ctrl, Shift, etc.) to
  239.              appear "stuck" after restoring.
  240.      
  241.              Added test to check for proper light pen register responses.
  242.      
  243.      12-8-88 1.1a changed the default blanking method to 'vertical size'.
  244.      
  245.      5-10-88 Initial release of Version 1.0
  246.      
  247.      
  248.      -- REGISTRATION AND DISTRIBUTION -------------------------------------
  249.      
  250.      This program is shareware.  You are encouraged to share and distribute
  251.      copies of this program free of charge provided the distribution file
  252.      is kept intact and all files are unaltered.  If you find HERCSAVE
  253.      useful and intend to use it then please register your copy.
  254.      
  255.      For only $15.00 you can help support the shareware concept.  By doing
  256.      so, you allow me to develop and enhance HERCSAVE.  Each successive
  257.      version that I have released has been based on the comments of
  258.      registered users.  $15.00 is not a lot to ask, considering what it
  259.      will save you in the life of your monitor and the time and effort I've
  260.      spent developing it.
  261.      
  262.      See the file ORDER.FRM for additional information on registration.
  263.      
  264.      Any comments, either good or bad, are welcome.  Please write, E-Mail,
  265.      or call if I can be of any assistance.
  266.      
  267.      Benjamin Diss
  268.      The Smart Solutions Group
  269.      5800 Oakwood Drive
  270.      Suite 1B
  271.      Lisle, IL  60532
  272.      
  273.      (312) 963-7975
  274.      CIS# 71270,341
  275.      
  276.      Hercules, Hercules Graphics Card, and HGC are registered trademarks of
  277.      Hercules Inc.
  278.      
  279.      IBM is a registered trademark of International Business Machines Inc.
  280.      
  281.